Microsoft Interview Puzzle